package com.data.modules.health.vo;

import java.util.List;

import com.data.common.aspect.annotation.Dict;
import com.data.modules.health.entity.HlUser;
import com.data.modules.health.entity.HlContactsInfo;
import com.data.modules.health.entity.HlUserBed;
import com.data.modules.health.entity.HlUserHealth;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelEntity;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Description: 老人档案信息
 * @Author: data-boot
 * @Date:   2023-07-17
 * @Version: V1.0
 */
@Data
@ApiModel(value="hl_userPage对象", description="老人档案信息")
public class HlUserPage {

	/**主键*/
	@ApiModelProperty(value = "主键")
    private String id;
	/**创建人*/
	@ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
	@ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**所属部门*/
	@ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
	/**多租户*/
	@Excel(name = "多租户", width = 15)
	@ApiModelProperty(value = "多租户")
    private Integer tenantId;
	/**姓名*/
	@Excel(name = "姓名", width = 15)
	@ApiModelProperty(value = "姓名")
    private String name;
	/**性别*/
	@Excel(name = "性别", width = 15, dicCode = "sex")
    @Dict(dicCode = "sex")
	@ApiModelProperty(value = "性别")
    private Integer sex;
	/**证件类型*/
	@Excel(name = "证件类型", width = 15, dicCode = "id_type")
    @Dict(dicCode = "id_type")
	@ApiModelProperty(value = "证件类型")
    private Integer idType;
	/**身份证号*/
	@Excel(name = "身份证号", width = 15)
	@ApiModelProperty(value = "身份证号")
    private String idNo;
	/**名族*/
	@Excel(name = "名族", width = 15, dicCode = "hl_nation")
    @Dict(dicCode = "hl_nation")
	@ApiModelProperty(value = "名族")
    private String nation;
	/**政治面貌*/
	@Excel(name = "政治面貌", width = 15)
	@ApiModelProperty(value = "政治面貌")
    private String faceType;
	/**生日*/
	@Excel(name = "生日", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
	@ApiModelProperty(value = "生日")
    private Date birthday;
	/**籍贯*/
	@Excel(name = "籍贯", width = 15)
	@ApiModelProperty(value = "籍贯")
    private String nativePlace;
	/**老人类型*/
	@Excel(name = "老人类型", width = 15, dicCode = "hl_old_type")
    @Dict(dicCode = "hl_old_type")
	@ApiModelProperty(value = "老人类型")
    private Integer oldType;
	/**自理能力*/
	@Excel(name = "自理能力", width = 15, dicCode = "hl_old_self")
    @Dict(dicCode = "hl_old_self")
	@ApiModelProperty(value = "自理能力")
    private Integer self;
	/**户籍地*/
	@Excel(name = "户籍地", width = 15)
	@ApiModelProperty(value = "户籍地")
    private String domicile;
	/**现居住地*/
	@Excel(name = "现居住地", width = 15)
	@ApiModelProperty(value = "现居住地")
    private String liveAdress;
	/**备注*/
	@Excel(name = "备注", width = 15)
	@ApiModelProperty(value = "备注")
    private String remark;

	@ExcelCollection(name="联系人信息")
	@ApiModelProperty(value = "联系人信息")
	private List<HlContactsInfo> hlContactsInfoList;
	@ExcelCollection(name="健康信息")
	@ApiModelProperty(value = "健康信息")
	private List<HlUserHealth> hlUserHealthList;

	@ExcelCollection(name="老人床位信息")
	@ApiModelProperty(value = "老人床位信息")
	private List<HlUserBed> hlUserBedList;

}
